UNPKG

@neo4j-cypher/language-support

Version:
4 lines 32.2 MB
{ "version": 3, "sources": ["../../src/syntaxValidation/semanticAnalysis.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/ignored|/home/runner/work/cypher-language-support/cypher-language-support/vendor/antlr4/src/antlr4|fs", "../../../../vendor/antlr4/dist/webpack:/antlr4/webpack/bootstrap", "../../../../vendor/antlr4/dist/webpack:/antlr4/webpack/runtime/define property getters", "../../../../vendor/antlr4/dist/webpack:/antlr4/webpack/runtime/hasOwnProperty shorthand", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/Token.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/utils/equalArrays.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/utils/stringHashCode.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/misc/HashCode.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/utils/standardHashCodeFunction.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/utils/standardEqualsFunction.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/utils/valueToString.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/utils/arrayToString.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/misc/HashSet.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/SemanticContext.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/ATNConfig.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/misc/Interval.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/misc/IntervalSet.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/state/ATNState.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/state/RuleStopState.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/transition/Transition.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/transition/RuleTransition.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/transition/SetTransition.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/transition/NotSetTransition.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/transition/WildcardTransition.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/AbstractPredicateTransition.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/tree/Tree.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/tree/SyntaxTree.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/tree/ParseTree.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/tree/RuleNode.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/tree/TerminalNode.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/tree/ErrorNode.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/utils/escapeWhitespace.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/tree/Trees.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/context/RuleContext.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/context/PredictionContext.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/context/ArrayPredictionContext.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/context/SingletonPredictionContext.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/context/EmptyPredictionContext.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/misc/HashMap.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/context/PredictionContextUtils.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/misc/BitSet.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/LL1Analyzer.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/ATN.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/ATNType.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/state/BasicState.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/state/DecisionState.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/state/BlockStartState.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/state/BlockEndState.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/state/LoopEndState.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/state/RuleStartState.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/state/TokensStartState.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/state/PlusLoopbackState.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/state/StarLoopbackState.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/state/StarLoopEntryState.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/state/PlusBlockStartState.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/state/StarBlockStartState.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/state/BasicBlockStartState.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/transition/AtomTransition.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/transition/RangeTransition.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/transition/ActionTransition.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/transition/EpsilonTransition.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/Predicate.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/transition/PredicateTransition.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/PrecedencePredicate.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/transition/PrecedencePredicateTransition.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/ATNDeserializationOptions.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/LexerActionType.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/action/LexerAction.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/action/LexerSkipAction.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/action/LexerChannelAction.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/action/LexerCustomAction.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/action/LexerMoreAction.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/action/LexerTypeAction.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/action/LexerPushModeAction.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/action/LexerPopModeAction.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/action/LexerModeAction.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/ATNDeserializer.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/error/ErrorListener.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/error/ConsoleErrorListener.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/error/ProxyErrorListener.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/Recognizer.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/CommonToken.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/CommonTokenFactory.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/error/RecognitionException.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/error/LexerNoViableAltException.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/Lexer.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/ATNConfigSet.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/dfa/DFAState.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/ATNSimulator.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/OrderedATNConfigSet.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/LexerATNConfig.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/action/LexerIndexedCustomAction.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/LexerActionExecutor.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/LexerATNSimulator.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/dfa/PredPrediction.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/misc/AltDict.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/PredictionMode.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/error/NoViableAltException.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/utils/DoubleDict.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/ParserATNSimulator.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/PredictionContextCache.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/atn/index.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/dfa/DFASerializer.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/dfa/LexerDFASerializer.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/dfa/DFA.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/dfa/index.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/context/index.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/misc/index.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/tree/ParseTreeListener.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/tree/ParseTreeVisitor.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/tree/ParseTreeWalker.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/tree/index.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/error/InputMismatchException.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/error/FailedPredicateException.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/error/DiagnosticErrorListener.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/error/ParseCancellationException.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/error/ErrorStrategy.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/error/DefaultErrorStrategy.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/error/BailErrorStrategy.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/error/index.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/CharStream.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/InputStream.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/FileStream.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/CharStreams.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/utils/stringToCharArray.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/utils/index.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/TokenStream.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/BufferedTokenStream.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/CommonTokenStream.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/TraceListener.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/Parser.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/tree/TerminalNodeImpl.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/tree/ErrorNodeImpl.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/context/ParserRuleContext.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/TokenStreamRewriter.js", "../../../../vendor/antlr4/dist/webpack:/antlr4/src/antlr4/index.web.js", "../../src/generated-parser/CypherCmdLexer.ts", "../../src/generated-parser/CypherCmdParser.ts", "../../src/helpers.ts", "../../../../node_modules/vscode-languageserver-types/lib/esm/main.js", "../../../../vendor/antlr4-c3/src/VocabularyImpl.ts", "../../../../vendor/antlr4-c3/src/antlr4.ts", "../../../../vendor/antlr4-c3/src/CodeCompletionHelpers.ts", "../../../../vendor/antlr4-c3/src/CodeCompletionCore.ts", "../../../../node_modules/fastest-levenshtein/esm/mod.js", "../../src/lexerSymbols.ts", "../../src/syntaxValidation/completionCoreErrors.ts", "../../src/syntaxValidation/syntaxValidationHelpers.ts", "../../src/parserWrapper.ts", "../../src/autocompletion/completionCoreCompletions.ts", "../../src/autocompletion/autocompletion.ts", "../../src/generated-parser/CypherCmdParserListener.ts", "../../src/signatureHelp.ts", "../../src/syntaxColouring/syntaxColouringHelpers.ts", "../../src/syntaxColouring/syntaxColouring.ts", "../../src/syntaxValidation/semanticAnalysisWrapper.ts", "../../src/syntaxValidation/syntaxValidation.ts", "../../src/tests/testData.ts"], "sourcesContent": ["\"use strict\";\n(function(root, module) {\n if (typeof define === 'function' && define.amd) {\n define(['exports'], function(exports) {\n module(root, exports);\n });\n } else if (typeof exports === 'object' && exports !== null && typeof exports.nodeName !== 'string') {\n module(globalThis, exports);\n } else {\n module(root, root);\n }\n}(typeof self !== 'undefined' ? self : this, function($rt_globals, $rt_exports) {\n var $rt_seed = 2463534242;\n function $rt_nextId() {\n var x = $rt_seed;\n x ^= x << 13;\n x ^= x >>> 17;\n x ^= x << 5;\n $rt_seed = x;\n return x;\n }\n function $rt_compare(a, b) {\n return a > b ? 1 : a < b ? -1 : a === b ? 0 : 1;\n }\n function $rt_isInstance(obj, cls) {\n return obj instanceof $rt_objcls() && !!obj.constructor.$meta && $rt_isAssignable(obj.constructor, cls);\n }\n function $rt_isAssignable(from, to) {\n if (from === to) {\n return true;\n }\n if (to.$meta.item !== null) {\n return from.$meta.item !== null && $rt_isAssignable(from.$meta.item, to.$meta.item);\n }\n var supertypes = from.$meta.supertypes;\n for (var i = 0;i < supertypes.length;i = i + 1 | 0) {\n if ($rt_isAssignable(supertypes[i], to)) {\n return true;\n }\n }\n return false;\n }\n function $rt_castToInterface(obj, cls) {\n if (obj !== null && !$rt_isInstance(obj, cls)) {\n $rt_throwCCE();\n }\n return obj;\n }\n function $rt_castToClass(obj, cls) {\n if (obj !== null && !(obj instanceof cls)) {\n $rt_throwCCE();\n }\n return obj;\n }\n $rt_globals.Array.prototype.fill = $rt_globals.Array.prototype.fill || function(value, start, end) {\n var len = this.length;\n if (!len) return this;\n start = start | 0;\n var i = start < 0 ? $rt_globals.Math.max(len + start, 0) : $rt_globals.Math.min(start, len);\n end = end === $rt_globals.undefined ? len : end | 0;\n end = end < 0 ? $rt_globals.Math.max(len + end, 0) : $rt_globals.Math.min(end, len);\n for (;i < end;i++) {\n this[i] = value;\n }\n return this;\n };\n function $rt_createArray(cls, sz) {\n var data = new $rt_globals.Array(sz);\n data.fill(null);\n return new $rt_array(cls, data);\n }\n function $rt_createArrayFromData(cls, init) {\n return $rt_wrapArray(cls, init);\n }\n function $rt_wrapArray(cls, data) {\n return new $rt_array(cls, data);\n }\n function $rt_createUnfilledArray(cls, sz) {\n return new $rt_array(cls, new $rt_globals.Array(sz));\n }\n function $rt_createNumericArray(cls, nativeArray) {\n return new $rt_array(cls, nativeArray);\n }\n var $rt_createLongArray;\n var $rt_createLongArrayFromData;\n if (typeof $rt_globals.BigInt64Array !== 'function') {\n $rt_createLongArray = function(sz) {\n var data = new $rt_globals.Array(sz);\n var arr = new $rt_array($rt_longcls(), data);\n data.fill(Long_ZERO);\n return arr;\n };\n $rt_createLongArrayFromData = function(init) {\n return new $rt_array($rt_longcls(), init);\n };\n } else {\n $rt_createLongArray = function(sz) {\n return $rt_createNumericArray($rt_longcls(), new $rt_globals.BigInt64Array(sz));\n };\n $rt_createLongArrayFromData = function(data) {\n var buffer = new $rt_globals.BigInt64Array(data.length);\n buffer.set(data);\n return $rt_createNumericArray($rt_longcls(), buffer);\n };\n }\n function $rt_createCharArray(sz) {\n return $rt_createNumericArray($rt_charcls(), new $rt_globals.Uint16Array(sz));\n }\n function $rt_createCharArrayFromData(data) {\n var buffer = new $rt_globals.Uint16Array(data.length);\n buffer.set(data);\n return $rt_createNumericArray($rt_charcls(), buffer);\n }\n function $rt_createByteArray(sz) {\n return $rt_createNumericArray($rt_bytecls(), new $rt_globals.Int8Array(sz));\n }\n function $rt_createByteArrayFromData(data) {\n var buffer = new $rt_globals.Int8Array(data.length);\n buffer.set(data);\n return $rt_createNumericArray($rt_bytecls(), buffer);\n }\n function $rt_createShortArray(sz) {\n return $rt_createNumericArray($rt_shortcls(), new $rt_globals.Int16Array(sz));\n }\n function $rt_createShortArrayFromData(data) {\n var buffer = new $rt_globals.Int16Array(data.length);\n buffer.set(data);\n return $rt_createNumericArray($rt_shortcls(), buffer);\n }\n function $rt_createIntArray(sz) {\n return $rt_createNumericArray($rt_intcls(), new $rt_globals.Int32Array(sz));\n }\n function $rt_createIntArrayFromData(data) {\n var buffer = new $rt_globals.Int32Array(data.length);\n buffer.set(data);\n return $rt_createNumericArray($rt_intcls(), buffer);\n }\n function $rt_createBooleanArray(sz) {\n return $rt_createNumericArray($rt_booleancls(), new $rt_globals.Int8Array(sz));\n }\n function $rt_createBooleanArrayFromData(data) {\n var buffer = new $rt_globals.Int8Array(data.length);\n buffer.set(data);\n return $rt_createNumericArray($rt_booleancls(), buffer);\n }\n function $rt_createFloatArray(sz) {\n return $rt_createNumericArray($rt_floatcls(), new $rt_globals.Float32Array(sz));\n }\n function $rt_createFloatArrayFromData(data) {\n var buffer = new $rt_globals.Float32Array(data.length);\n buffer.set(data);\n return $rt_createNumericArray($rt_floatcls(), buffer);\n }\n function $rt_createDoubleArray(sz) {\n return $rt_createNumericArray($rt_doublecls(), new $rt_globals.Float64Array(sz));\n }\n function $rt_createDoubleArrayFromData(data) {\n var buffer = new $rt_globals.Float64Array(data.length);\n buffer.set(data);\n return $rt_createNumericArray($rt_doublecls(), buffer);\n }\n function $rt_arraycls(cls) {\n var result = cls.$array;\n if (result === null) {\n var arraycls = { };\n var name = \"[\" + cls.$meta.binaryName;\n arraycls.$meta = { item : cls, supertypes : [$rt_objcls()], primitive : false, superclass : $rt_objcls(), name : name, binaryName : name, enum : false, simpleName : null, declaringClass : null, enclosingClass : null };\n arraycls.classObject = null;\n arraycls.$array = null;\n result = arraycls;\n cls.$array = arraycls;\n }\n return result;\n }\n function $rt_createcls() {\n return { $array : null, classObject : null, $meta : { supertypes : [], superclass : null } };\n }\n function $rt_createPrimitiveCls(name, binaryName) {\n var cls = $rt_createcls();\n cls.$meta.primitive = true;\n cls.$meta.name = name;\n cls.$meta.binaryName = binaryName;\n cls.$meta.enum = false;\n cls.$meta.item = null;\n cls.$meta.simpleName = null;\n cls.$meta.declaringClass = null;\n cls.$meta.enclosingClass = null;\n return cls;\n }\n var $rt_booleanclsCache = null;\n function $rt_booleancls() {\n if ($rt_booleanclsCache === null) {\n $rt_booleanclsCache = $rt_createPrimitiveCls(\"boolean\", \"Z\");\n }\n return $rt_booleanclsCache;\n }\n var $rt_charclsCache = null;\n function $rt_charcls() {\n if ($rt_charclsCache === null) {\n $rt_charclsCache = $rt_createPrimitiveCls(\"char\", \"C\");\n }\n return $rt_charclsCache;\n }\n var $rt_byteclsCache = null;\n function $rt_bytecls() {\n if ($rt_byteclsCache === null) {\n $rt_byteclsCache = $rt_createPrimitiveCls(\"byte\", \"B\");\n }\n return $rt_byteclsCache;\n }\n var $rt_shortclsCache = null;\n function $rt_shortcls() {\n if ($rt_shortclsCache === null) {\n $rt_shortclsCache = $rt_createPrimitiveCls(\"short\", \"S\");\n }\n return $rt_shortclsCache;\n }\n var $rt_intclsCache = null;\n function $rt_intcls() {\n if ($rt_intclsCache === null) {\n $rt_intclsCache = $rt_createPrimitiveCls(\"int\", \"I\");\n }\n return $rt_intclsCache;\n }\n var $rt_longclsCache = null;\n function $rt_longcls() {\n if ($rt_longclsCache === null) {\n $rt_longclsCache = $rt_createPrimitiveCls(\"long\", \"J\");\n }\n return $rt_longclsCache;\n }\n var $rt_floatclsCache = null;\n function $rt_floatcls() {\n if ($rt_floatclsCache === null) {\n $rt_floatclsCache = $rt_createPrimitiveCls(\"float\", \"F\");\n }\n return $rt_floatclsCache;\n }\n var $rt_doubleclsCache = null;\n function $rt_doublecls() {\n if ($rt_doubleclsCache === null) {\n $rt_doubleclsCache = $rt_createPrimitiveCls(\"double\", \"D\");\n }\n return $rt_doubleclsCache;\n }\n var $rt_voidclsCache = null;\n function $rt_voidcls() {\n if ($rt_voidclsCache === null) {\n $rt_voidclsCache = $rt_createPrimitiveCls(\"void\", \"V\");\n }\n return $rt_voidclsCache;\n }\n function $rt_throw(ex) {\n throw $rt_exception(ex);\n }\n var $rt_javaExceptionProp = $rt_globals.Symbol(\"javaException\");\n function $rt_exception(ex) {\n var err = ex.$jsException;\n if (!err) {\n var javaCause = $rt_throwableCause(ex);\n var jsCause = javaCause !== null ? javaCause.$jsException : $rt_globals.undefined;\n var cause = typeof jsCause === \"object\" ? { cause : jsCause } : $rt_globals.undefined;\n err = new JavaError(\"Java exception thrown\", cause);\n if (typeof $rt_globals.Error.captureStackTrace === \"function\") {\n $rt_globals.Error.captureStackTrace(err);\n }\n err[$rt_javaExceptionProp] = ex;\n ex.$jsException = err;\n $rt_fillStack(err, ex);\n }\n return err;\n }\n function $rt_fillStack(err, ex) {\n if (typeof $rt_decodeStack === \"function\" && err.stack) {\n var stack = $rt_decodeStack(err.stack);\n var javaStack = $rt_createArray($rt_stecls(), stack.length);\n var elem;\n var noStack = false;\n for (var i = 0;i < stack.length;++i) {\n var element = stack[i];\n elem = $rt_createStackElement($rt_str(element.className), $rt_str(element.methodName), $rt_str(element.fileName), element.lineNumber);\n if (elem == null) {\n noStack = true;\n break;\n }\n javaStack.data[i] = elem;\n }\n if (!noStack) {\n $rt_setStack(ex, javaStack);\n }\n }\n }\n function $rt_createMultiArray(cls, dimensions) {\n var first = 0;\n for (var i = dimensions.length - 1;i >= 0;i = i - 1 | 0) {\n if (dimensions[i] === 0) {\n first = i;\n break;\n }\n }\n if (first > 0) {\n for (i = 0;i < first;i = i + 1 | 0) {\n cls = $rt_arraycls(cls);\n }\n if (first === dimensions.length - 1) {\n return $rt_createArray(cls, dimensions[first]);\n }\n }\n var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, first));\n var firstDim = dimensions[first] | 0;\n for (i = 0;i < arrays.length;i = i + 1 | 0) {\n arrays[i] = $rt_createArray(cls, firstDim);\n }\n return $rt_createMultiArrayImpl(cls, arrays, dimensions, first);\n }\n function $rt_createByteMultiArray(dimensions) {\n var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, 0));\n if (arrays.length === 0) {\n return $rt_createMultiArray($rt_bytecls(), dimensions);\n }\n var firstDim = dimensions[0] | 0;\n for (var i = 0;i < arrays.length;i = i + 1 | 0) {\n arrays[i] = $rt_createByteArray(firstDim);\n }\n return $rt_createMultiArrayImpl($rt_bytecls(), arrays, dimensions);\n }\n function $rt_createCharMultiArray(dimensions) {\n var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, 0));\n if (arrays.length === 0) {\n return $rt_createMultiArray($rt_charcls(), dimensions);\n }\n var firstDim = dimensions[0] | 0;\n for (var i = 0;i < arrays.length;i = i + 1 | 0) {\n arrays[i] = $rt_createCharArray(firstDim);\n }\n return $rt_createMultiArrayImpl($rt_charcls(), arrays, dimensions, 0);\n }\n function $rt_createBooleanMultiArray(dimensions) {\n var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, 0));\n if (arrays.length === 0) {\n return $rt_createMultiArray($rt_booleancls(), dimensions);\n }\n var firstDim = dimensions[0] | 0;\n for (var i = 0;i < arrays.length;i = i + 1 | 0) {\n arrays[i] = $rt_createBooleanArray(firstDim);\n }\n return $rt_createMultiArrayImpl($rt_booleancls(), arrays, dimensions, 0);\n }\n function $rt_createShortMultiArray(dimensions) {\n var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, 0));\n if (arrays.length === 0) {\n return $rt_createMultiArray($rt_shortcls(), dimensions);\n }\n var firstDim = dimensions[0] | 0;\n for (var i = 0;i < arrays.length;i = i + 1 | 0) {\n arrays[i] = $rt_createShortArray(firstDim);\n }\n return $rt_createMultiArrayImpl($rt_shortcls(), arrays, dimensions, 0);\n }\n function $rt_createIntMultiArray(dimensions) {\n var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, 0));\n if (arrays.length === 0) {\n return $rt_createMultiArray($rt_intcls(), dimensions);\n }\n var firstDim = dimensions[0] | 0;\n for (var i = 0;i < arrays.length;i = i + 1 | 0) {\n arrays[i] = $rt_createIntArray(firstDim);\n }\n return $rt_createMultiArrayImpl($rt_intcls(), arrays, dimensions, 0);\n }\n function $rt_createLongMultiArray(dimensions) {\n var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, 0));\n if (arrays.length === 0) {\n return $rt_createMultiArray($rt_longcls(), dimensions);\n }\n var firstDim = dimensions[0] | 0;\n for (var i = 0;i < arrays.length;i = i + 1 | 0) {\n arrays[i] = $rt_createLongArray(firstDim);\n }\n return $rt_createMultiArrayImpl($rt_longcls(), arrays, dimensions, 0);\n }\n function $rt_createFloatMultiArray(dimensions) {\n var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, 0));\n if (arrays.length === 0) {\n return $rt_createMultiArray($rt_floatcls(), dimensions);\n }\n var firstDim = dimensions[0] | 0;\n for (var i = 0;i < arrays.length;i = i + 1 | 0) {\n arrays[i] = $rt_createFloatArray(firstDim);\n }\n return $rt_createMultiArrayImpl($rt_floatcls(), arrays, dimensions, 0);\n }\n function $rt_createDoubleMultiArray(dimensions) {\n var arrays = new $rt_globals.Array($rt_primitiveArrayCount(dimensions, 0));\n if (arrays.length === 0) {\n return $rt_createMultiArray($rt_doublecls(), dimensions);\n }\n var firstDim = dimensions[0] | 0;\n for (var i = 0;i < arrays.length;i = i + 1 | 0) {\n arrays[i] = $rt_createDoubleArray(firstDim);\n }\n return $rt_createMultiArrayImpl($rt_doublecls(), arrays, dimensions, 0);\n }\n function $rt_primitiveArrayCount(dimensions, start) {\n var val = dimensions[start + 1] | 0;\n for (var i = start + 2;i < dimensions.length;i = i + 1 | 0) {\n val = val * (dimensions[i] | 0) | 0;\n if (val === 0) {\n break;\n }\n }\n return val;\n }\n function $rt_createMultiArrayImpl(cls, arrays, dimensions, start) {\n var limit = arrays.length;\n for (var i = start + 1 | 0;i < dimensions.length;i = i + 1 | 0) {\n cls = $rt_arraycls(cls);\n var dim = dimensions[i];\n var index = 0;\n var packedIndex = 0;\n while (index < limit) {\n var arr = $rt_createUnfilledArray(cls, dim);\n for (var j = 0;j < dim;j = j + 1 | 0) {\n arr.data[j] = arrays[index];\n index = index + 1 | 0;\n }\n arrays[packedIndex] = arr;\n packedIndex = packedIndex + 1 | 0;\n }\n limit = packedIndex;\n }\n return arrays[0];\n }\n function $rt_assertNotNaN(value) {\n if (typeof value === 'number' && $rt_globals.isNaN(value)) {\n throw \"NaN\";\n }\n return value;\n }\n function $rt_createOutputFunction(printFunction) {\n var buffer = \"\";\n var utf8Buffer = 0;\n var utf8Remaining = 0;\n function putCodePoint(ch) {\n if (ch === 0xA) {\n printFunction(buffer);\n buffer = \"\";\n } else if (ch < 0x10000) {\n buffer += $rt_globals.String.fromCharCode(ch);\n } else {\n ch = ch - 0x10000 | 0;\n var hi = (ch >> 10) + 0xD800;\n var lo = (ch & 0x3FF) + 0xDC00;\n buffer += $rt_globals.String.fromCharCode(hi, lo);\n }\n }\n return function(ch) {\n if ((ch & 0x80) === 0) {\n putCodePoint(ch);\n } else if ((ch & 0xC0) === 0x80) {\n if (utf8Buffer > 0) {\n utf8Remaining <<= 6;\n utf8Remaining |= ch & 0x3F;\n if ( --utf8Buffer === 0) {\n putCodePoint(utf8Remaining);\n }\n }\n } else if ((ch & 0xE0) === 0xC0) {\n utf8Remaining = ch & 0x1F;\n utf8Buffer = 1;\n } else if ((ch & 0xF0) === 0xE0) {\n utf8Remaining = ch & 0x0F;\n utf8Buffer = 2;\n } else if ((ch & 0xF8) === 0xF0) {\n utf8Remaining = ch & 0x07;\n utf8Buffer = 3;\n }\n };\n }\n var $rt_putStdout = typeof $rt_putStdoutCustom === \"function\" ? $rt_putStdoutCustom : typeof $rt_globals.console === \"object\" ? $rt_createOutputFunction(function(msg) {\n $rt_globals.console.info(msg);\n }) : function() {\n };\n var $rt_putStderr = typeof $rt_putStderrCustom === \"function\" ? $rt_putStderrCustom : typeof $rt_globals.console === \"object\" ? $rt_createOutputFunction(function(msg) {\n $rt_globals.console.error(msg);\n }) : function() {\n };\n var $rt_packageData = null;\n function $rt_packages(data) {\n var i = 0;\n var packages = new $rt_globals.Array(data.length);\n for (var j = 0;j < data.length;++j) {\n var prefixIndex = data[i++];\n var prefix = prefixIndex >= 0 ? packages[prefixIndex] : \"\";\n packages[j] = prefix + data[i++] + \".\";\n }\n $rt_packageData = packages;\n }\n function $rt_metadata(data) {\n var packages = $rt_packageData;\n var i = 0;\n while (i < data.length) {\n var cls = data[i++];\n cls.$meta = { };\n var m = cls.$meta;\n var className = data[i++];\n m.name = className !== 0 ? className : null;\n if (m.name !== null) {\n var packageIndex = data[i++];\n if (packageIndex >= 0) {\n m.name = packages[packageIndex] + m.name;\n }\n }\n m.binaryName = \"L\" + m.name + \";\";\n var superclass = data[i++];\n m.superclass = superclass !== 0 ? superclass : null;\n m.supertypes = data[i++];\n if (m.superclass) {\n m.supertypes.push(m.superclass);\n cls.prototype = $rt_globals.Object.create(m.superclass.prototype);\n } else {\n cls.prototype = { };\n }\n var flags = data[i++];\n m.enum = (flags & 8) !== 0;\n m.flags = flags;\n m.primitive = false;\n m.item = null;\n cls.prototype.constructor = cls;\n cls.classObject = null;\n m.accessLevel = data[i++];\n var innerClassInfo = data[i++];\n if (innerClassInfo === 0) {\n m.simpleName = null;\n m.declaringClass = null;\n m.enclosingClass = null;\n } else {\n var enclosingClass = innerClassInfo[0];\n m.enclosingClass = enclosingClass !== 0 ? enclosingClass : null;\n var declaringClass = innerClassInfo[1];\n m.declaringClass = declaringClass !== 0 ? declaringClass : null;\n var simpleName = innerClassInfo[2];\n m.simpleName = simpleName !== 0 ? simpleName : null;\n }\n var clinit = data[i++];\n cls.$clinit = clinit !== 0 ? clinit : function() {\n };\n var virtualMethods = data[i++];\n if (virtualMethods !== 0) {\n for (var j = 0;j < virtualMethods.length;j += 2) {\n var name = virtualMethods[j];\n var func = virtualMethods[j + 1];\n if (typeof name === 'string') {\n name = [name];\n }\n for (var k = 0;k < name.length;++k) {\n cls.prototype[name[k]] = func;\n }\n }\n }\n cls.$array = null;\n }\n }\n function $rt_wrapFunction0(f) {\n return function() {\n return f(this);\n };\n }\n function $rt_wrapFunction1(f) {\n return function(p1) {\n return f(this, p1);\n };\n }\n function $rt_wrapFunction2(f) {\n return function(p1, p2) {\n return f(this, p1, p2);\n };\n }\n function $rt_wrapFunction3(f) {\n return function(p1, p2, p3) {\n return f(this, p1, p2, p3, p3);\n };\n }\n function $rt_wrapFunction4(f) {\n return function(p1, p2, p3, p4) {\n return f(this, p1, p2, p3, p4);\n };\n }\n function $rt_threadStarter(f) {\n return function() {\n var args = $rt_globals.Array.prototype.slice.apply(arguments);\n $rt_startThread(function() {\n f.apply(this, args);\n });\n };\n }\n function $rt_mainStarter(f) {\n return function(args, callback) {\n if (!args) {\n args = [];\n }\n var javaArgs = $rt_createArray($rt_objcls(), args.length);\n for (var i = 0;i < args.length;++i) {\n javaArgs.data[i] = $rt_str(args[i]);\n }\n $rt_startThread(function() {\n return f.call(null, javaArgs);\n }, callback);\n };\n }\n var $rt_stringPool_instance;\n function $rt_stringPool(strings) {\n $rt_stringPool_instance = new $rt_globals.Array(strings.length);\n for (var i = 0;i < strings.length;++i) {\n $rt_stringPool_instance[i] = $rt_intern($rt_str(strings[i]));\n }\n }\n function $rt_s(index) {\n return $rt_stringPool_instance[index];\n }\n function $rt_eraseClinit(target) {\n return target.$clinit = function() {\n };\n }\n var $rt_numberConversionBuffer = new $rt_globals.ArrayBuffer(16);\n var $rt_numberConversionView = new $rt_globals.DataView($rt_numberConversionBuffer);\n var $rt_numberConversionFloatArray = new $rt_globals.Float32Array($rt_numberConversionBuffer);\n var $rt_numberConversionDoubleArray = new $rt_globals.Float64Array($rt_numberConversionBuffer);\n var $rt_numberConversionIntArray = new $rt_globals.Int32Array($rt_numberConversionBuffer);\n var $rt_doubleToRawLongBits;\n var $rt_longBitsToDouble;\n if (typeof $rt_globals.BigInt !== 'function') {\n $rt_doubleToRawLongBits = function(n) {\n $rt_numberConversionView.setFloat64(0, n, true);\n return new Long($rt_numberConversionView.getInt32(0, true), $rt_numberConversionView.getInt32(4, true));\n };\n $rt_longBitsToDouble = function(n) {\n $rt_numberConversionView.setInt32(0, n.lo, true);\n $rt_numberConversionView.setInt32(4, n.hi, true);\n return $rt_numberConversionView.getFloat64(0, true);\n };\n } else if (typeof $rt_globals.BigInt64Array !== 'function') {\n $rt_doubleToRawLongBits = function(n) {\n $rt_numberConversionView.setFloat64(0, n, true);\n var lo = $rt_numberConversionView.getInt32(0, true);\n var hi = $rt_numberConversionView.getInt32(4, true);\n return $rt_globals.BigInt.asIntN(64, $rt_globals.BigInt.asUintN(32, $rt_globals.BigInt(lo)) | $rt_globals.BigInt(hi) << $rt_globals.BigInt(32));\n };\n $rt_longBitsToDouble = function(n) {\n $rt_numberConversionView.setFloat64(0, n, true);\n var lo = $rt_numberConversionView.getInt32(0, true);\n var hi = $rt_numberConversionView.getInt32(4, true);\n return $rt_globals.BigInt.asIntN(64, $rt_globals.BigInt.asUintN(32, $rt_globals.BigInt(lo)) | $rt_globals.BigInt(hi) << $rt_globals.BigInt(32));\n };\n } else {\n var $rt_numberConversionLongArray = new $rt_globals.BigInt64Array($rt_numberConversionBuffer);\n $rt_doubleToRawLongBits = function(n) {\n $rt_numberConversionDoubleArray[0] = n;\n return $rt_numberConversionLongArray[0];\n };\n $rt_longBitsToDouble = function(n) {\n $rt_numberConversionLongArray[0] = n;\n return $rt_numberConversionDoubleArray[0];\n };\n }\n function $rt_floatToRawIntBits(n) {\n $rt_numberConversionFloatArray[0] = n;\n return $rt_numberConversionIntArray[0];\n }\n function $rt_intBitsToFloat(n) {\n $rt_numberConversionIntArray[0] = n;\n return $rt_numberConversionFloatArray[0];\n }\n function $rt_equalDoubles(a, b) {\n if (a !== a) {\n return b !== b;\n }\n $rt_numberConversionDoubleArray[0] = a;\n $rt_numberConversionDoubleArray[1] = b;\n return $rt_numberConversionIntArray[0] === $rt_numberConversionIntArray[2] && $rt_numberConversionIntArray[1] === $rt_numberConversionIntArray[3];\n }\n var JavaError;\n if (typeof $rt_globals.Reflect === 'object') {\n var defaultMessage = $rt_globals.Symbol(\"defaultMessage\");\n JavaError = function JavaError(message, cause) {\n var self = $rt_globals.Reflect.construct($rt_globals.Error, [$rt_globals.undefined, cause], JavaError);\n $rt_globals.Object.setPrototypeOf(self, JavaError.prototype);\n self[defaultMessage] = message;\n return self;\n };\n JavaError.prototype = $rt_globals.Object.create($rt_globals.Error.prototype, { constructor : { configurable : true, writable : true, value : JavaError }, message : { get : function() {\n try {\n var javaException = this[$rt_javaExceptionProp];\n if (typeof javaException === 'object') {\n var javaMessage = $rt_throwableMessage(javaException);\n if (typeof javaMessage === \"object\") {\n return javaMessage !== null ? javaMessage.toString() : null;\n }\n }\n return this[defaultMessage];\n } catch (e){\n return \"Exception occurred trying to extract Java exception message: \" + e;\n }\n } } });\n } else {\n JavaError = $rt_globals.Error;\n }\n function $rt_javaException(e) {\n return e instanceof $rt_globals.Error && typeof e[$rt_javaExceptionProp] === 'object' ? e[$rt_javaExceptionProp] : null;\n }\n function $rt_jsException(e) {\n return typeof e.$jsException === 'object' ? e.$jsException : null;\n }\n function $rt_wrapException(err) {\n var ex = err[$rt_javaExceptionProp];\n if (!ex) {\n ex = $rt_createException($rt_str(\"(JavaScript) \" + err.toString()));\n err[$rt_javaExceptionProp] = ex;\n ex.$jsException = err;\n $rt_fillStack(err, ex);\n }\n return ex;\n }\n function $dbg_class(obj) {\n var cls = obj.constructor;\n var arrayDegree = 0;\n while (cls.$meta && cls.$meta.item) {\n ++arrayDegree;\n cls = cls.$meta.item;\n }\n var clsName = \"\";\n if (cls === $rt_booleancls()) {\n clsName = \"boolean\";\n } else if (cls === $rt_bytecls()) {\n clsName = \"byte\";\n } else if (cls === $rt_shortcls()) {\n clsName = \"short\";\n } else if (cls === $rt_charcls()) {\n clsName = \"char\";\n } else if (cls === $rt_intcls()) {\n clsName = \"int\";\n } else if (cls === $rt_longcls()) {\n clsName = \"long\";\n } else if (cls === $rt_floatcls()) {\n clsName = \"float\";\n } else if (cls === $rt_doublecls()) {\n clsName = \"double\";\n } else {\n clsName = cls.$meta ? cls.$meta.name || \"a/\" + cls.name : \"@\" + cls.name;\n }\n while (arrayDegree-- > 0) {\n clsName += \"[]\";\n }\n return clsName;\n }\n function Long(lo, hi) {\n this.lo = lo | 0;\n this.hi = hi | 0;\n }\n Long.prototype.__teavm_class__ = function() {\n return \"long\";\n };\n function Long_isPositive(a) {\n return (a.hi & 0x80000000) === 0;\n }\n function Long_isNegative(a) {\n return (a.hi & 0x80000000) !== 0;\n }\n var Long_MAX_NORMAL = 1 << 18;\n var Long_ZERO;\n var Long_create;\n var Long_fromInt;\n var Long_fromNumber;\n var Long_toNumber;\n var Long_hi;\n var Long_lo;\n if (typeof $rt_globals.BigInt !== \"function\") {\n Long.prototype.toString = function() {\n var result = [];\n var n = this;\n var positive = Long_isPositive(n);\n if (!positive) {\n n = Long_neg(n);\n }\n var radix = new Long(10, 0);\n do {\n var divRem = Long_divRem(n, radix);\n result.push($rt_globals.String.fromCharCode(48 + divRem[1].lo));\n n = divRem[0];\n }while (n.lo !== 0 || n.hi !== 0);\n result = (result.reverse()).join('');\n return positive ? result : \"-\" + result;\n };\n Long.prototype.valueOf = function() {\n return Long_toNumber(this);\n };\n Long_ZERO = new Long(0, 0);\n Long_fromInt = function(val) {\n return new Long(val, -(val < 0) | 0);\n };\n Long_fromNumber = function(val) {\n if (val >= 0) {\n return new Long(val | 0, val / 0x100000000 | 0);\n } else {\n return Long_neg(new Long( -val | 0, -val / 0x100000000 | 0));\n }\n };\n Long_create = function(lo, hi) {\n return new Long(lo, hi);\n };\n Long_toNumber = function(val) {\n return 0x100000000 * val.hi + (val.lo >>> 0);\n };\n Long_hi = function(val) {\n return val.hi;\n };\n Long_lo = function(val) {\n return val.lo;\n };\n } else {\n Long_ZERO = $rt_globals.BigInt(0);\n Long_create = function(lo, hi) {\n 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)));\n };\n Long_fromInt = function(val) {\n return $rt_globals.BigInt.asIntN(64, $rt_globals.BigInt(val | 0));\n };\n Long_fromNumber = function(val) {\n return $rt_globals.BigInt.asIntN(64, $rt_globals.BigInt(val >= 0 ? $rt_globals.Math.floor(val) : $rt_globals.Math.ceil(val)));\n };\n Long_toNumber = function(val) {\n return $rt_globals.Number(val);\n };\n Long_hi = function(val) {\n return $rt_globals.Number($rt_globals.BigInt.asIntN(64, val >> $rt_globals.BigInt(32))) | 0;\n };\n Long_lo = function(val) {\n return $rt_globals.Number($rt_globals.BigInt.asIntN(32, val)) | 0;\n };\n }\n var $rt_imul = $rt_globals.Math.imul || function(a, b) {\n var ah = a >>> 16 & 0xFFFF;\n var al = a & 0xFFFF;\n var bh = b >>> 16 & 0xFFFF;\n var bl = b & 0xFFFF;\n return al * bl + (ah * bl + al * bh << 16 >>> 0) | 0;\n };\n var $rt_udiv = function(a, b) {\n return (a >>> 0) / (b >>> 0) >>> 0;\n };\n var $rt_umod = function(a, b) {\n return (a >>> 0) % (b >>> 0) >>> 0;\n };\n var $rt_ucmp = function(a, b) {\n a >>>= 0;\n b >>>= 0;\n return a < b ? -1 : a > b ? 1 : 0;\n };\n function $rt_checkBounds(index, array) {\n if (index < 0 || index >= array.length) {\n $rt_throwAIOOBE();\n }\n return index;\n }\n function $rt_checkUpperBound(index, array) {\n if (index >= array.length) {\n $rt_throwAIOOBE();\n }\n return index;\n }\n function $rt_checkLowerBound(index) {\n if (index < 0) {\n $rt_throwAIOOBE();\n }\n return index;\n }\n function $rt_classWithoutFields(superclass) {\n if (superclass === 0) {\n return function() {\n };\n }\n if (superclass === void 0) {\n superclass = $rt_objcls();\n }\n return function() {\n superclass.call(this);\n };\n }\n function $rt_setCloneMethod(target, f) {\n target.$clone = f;\n }\n function $rt_cls(cls) {\n return jl_Class_getClass(cls);\n }\n function $rt_str(str) {\n if (str === null) {\n return null;\n }\n var characters = $rt_createCharArray(str.length);\n var charsBuffer = characters.data;\n for (var i = 0; i < str.length; i = (i + 1) | 0) {\n charsBuffer[i] = str.charCodeAt(i) & 0xFFFF;\n }\n return jl_String__init_(characters);\n }\n function $rt_ustr(str) {\n if (str === null) {\n return null;\n }\n var data = str.$characters.data;\n var result = \"\";\n for (var i = 0; i < data.length; i = (i + 1) | 0) {\n result += String.fromCharCode(data[i]);\n }\n return result;\n }\n function $rt_objcls() { return jl_Object; }\n function $rt_stecls() {\n return jl_Object;\n }\n function $rt_throwableMessage(t) {\n return jl_Throwable_getMessage(t);\n }\n function $rt_throwableCause(t) {\n return jl_Throwable_getCause(t);\n }\n function $rt_nullCheck(val) {\n if (val === null) {\n $rt_throw(jl_NullPointerException__init_());\n }\n return val;\n }\n function $rt_intern(str) {\n return str;\n }\n function $rt_getThread() {\n return jl_Thread_currentThread();\n }\n function $rt_setThread(t) {\n return jl_Thread_setCurrentThread(t);\n }\n function $rt_createException(message) {\n return jl_RuntimeException__init_(message);\n }\n function $rt_createStackElement(className, methodName, fileName, lineNumber) {\n return null;\n }\n function $rt_setStack(e, stack) {\n }\n function $rt_throwAIOOBE() {\n $rt_throw(jl_ArrayIndexOutOfBoundsException__init_());\n }\n function $rt_throwCCE() {\n }\n var $java = Object.create(null);\n function jl_Object() {\n this.$monitor = null;\n this.$id$ = 0;\n }\n function jl_Object__init_() {\n var var_0 = new jl_Object();\n jl_Object__init_0(var_0);\n return var_0;\n }\n function jl_Object_monitorEnterSy