local function __TS__ArrayIsArray(value) return type(value) == "table" and (value[1] ~= nil or next(value) == nil) end local function __TS__ArrayConcat(self, ...) local items = {...} local result = {} local len = 0 for i = 1, #self do len = len + 1 result[len] = self[i] end for i = 1, #items do local item = items[i] if __TS__ArrayIsArray(item) then for j = 1, #item do len = len + 1 result[len] = item[j] end else len = len + 1 result[len] = item end end return result end local __TS__Symbol, Symbol do local symbolMetatable = {__tostring = function(self) return ("Symbol(" .. (self.description or "")) .. ")" end} function __TS__Symbol(description) return setmetatable({description = description}, symbolMetatable) end Symbol = { iterator = __TS__Symbol("Symbol.iterator"), hasInstance = __TS__Symbol("Symbol.hasInstance"), species = __TS__Symbol("Symbol.species"), toStringTag = __TS__Symbol("Symbol.toStringTag") } end local function __TS__ArrayEntries(array) local key = 0 return { [Symbol.iterator] = function(self) return self end, next = function(self) local result = {done = array[key + 1] == nil, value = {key, array[key + 1]}} key = key + 1 return result end } end local function __TS__ArrayEvery(self, callbackfn, thisArg) for i = 1, #self do if not callbackfn(thisArg, self[i], i - 1, self) then return false end end return true end local function __TS__ArrayFilter(self, callbackfn, thisArg) local result = {} local len = 0 for i = 1, #self do if callbackfn(thisArg, self[i], i - 1, self) then len = len + 1 result[len] = self[i] end end return result end local function __TS__ArrayForEach(self, callbackFn, thisArg) for i = 1, #self do callbackFn(thisArg, self[i], i - 1, self) end end local function __TS__ArrayFind(self, predicate, thisArg) for i = 1, #self do local elem = self[i] if predicate(thisArg, elem, i - 1, self) then return elem end end return nil end local function __TS__ArrayFindIndex(self, callbackFn, thisArg) for i = 1, #self do if callbackFn(thisArg, self[i], i - 1, self) then return i - 1 end end return -1 end local __TS__Iterator do local function iteratorGeneratorStep(self) local co = self.____coroutine local status, value = coroutine.resume(co) if not status then error(value, 0) end if coroutine.status(co) == "dead" then return end return true, value end local function iteratorIteratorStep(self) local result = self:next() if result.done then return end return true, result.value end local function iteratorStringStep(self, index) index = index + 1 if index > #self then return end return index, string.sub(self, index, index) end function __TS__Iterator(iterable) if type(iterable) == "string" then return iteratorStringStep, iterable, 0 elseif iterable.____coroutine ~= nil then return iteratorGeneratorStep, iterable elseif iterable[Symbol.iterator] then local iterator = iterable[Symbol.iterator](iterable) return iteratorIteratorStep, iterator else return ipairs(iterable) end end end local __TS__ArrayFrom do local function arrayLikeStep(self, index) index = index + 1 if index > self.length then return end return index, self[index] end local function arrayLikeIterator(arr) if type(arr.length) == "number" then return arrayLikeStep, arr, 0 end return __TS__Iterator(arr) end function __TS__ArrayFrom(arrayLike, mapFn, thisArg) local result = {} if mapFn == nil then for ____, v in arrayLikeIterator(arrayLike) do result[#result + 1] = v end else for i, v in arrayLikeIterator(arrayLike) do result[#result + 1] = mapFn(thisArg, v, i - 1) end end return result end end local function __TS__ArrayIncludes(self, searchElement, fromIndex) if fromIndex == nil then fromIndex = 0 end local len = #self local k = fromIndex if fromIndex < 0 then k = len + fromIndex end if k < 0 then k = 0 end for i = k + 1, len do if self[i] == searchElement then return true end end return false end local function __TS__ArrayIndexOf(self, searchElement, fromIndex) if fromIndex == nil then fromIndex = 0 end local len = #self if len == 0 then return -1 end if fromIndex >= len then return -1 end if fromIndex < 0 then fromIndex = len + fromIndex if fromIndex < 0 then fromIndex = 0 end end for i = fromIndex + 1, len do if self[i] == searchElement then return i - 1 end end return -1 end local function __TS__ArrayJoin(self, separator) if separator == nil then separator = "," end local parts = {} for i = 1, #self do parts[i] = tostring(self[i]) end return table.concat(parts, separator) end local function __TS__ArrayMap(self, callbackfn, thisArg) local result = {} for i = 1, #self do result[i] = callbackfn(thisArg, self[i], i - 1, self) end return result end local function __TS__ArrayPush(self, ...) local items = {...} local len = #self for i = 1, #items do len = len + 1 self[len] = items[i] end return len end local function __TS__ArrayPushArray(self, items) local len = #self for i = 1, #items do len = len + 1 self[len] = items[i] end return len end local function __TS__CountVarargs(...) return select("#", ...) end local function __TS__ArrayReduce(self, callbackFn, ...) local len = #self local k = 0 local accumulator = nil if __TS__CountVarargs(...) ~= 0 then accumulator = ... elseif len > 0 then accumulator = self[1] k = 1 else error("Reduce of empty array with no initial value", 0) end for i = k + 1, len do accumulator = callbackFn( nil, accumulator, self[i], i - 1, self ) end return accumulator end local function __TS__ArrayReduceRight(self, callbackFn, ...) local len = #self local k = len - 1 local accumulator = nil if __TS__CountVarargs(...) ~= 0 then accumulator = ... elseif len > 0 then accumulator = self[k + 1] k = k - 1 else error("Reduce of empty array with no initial value", 0) end for i = k + 1, 1, -1 do accumulator = callbackFn( nil, accumulator, self[i], i - 1, self ) end return accumulator end local function __TS__ArrayReverse(self) local i = 1 local j = #self while i < j do local temp = self[j] self[j] = self[i] self[i] = temp i = i + 1 j = j - 1 end return self end local function __TS__ArrayUnshift(self, ...) local items = {...} local numItemsToInsert = #items if numItemsToInsert == 0 then return #self end for i = #self, 1, -1 do self[i + numItemsToInsert] = self[i] end for i = 1, numItemsToInsert do self[i] = items[i] end return #self end local function __TS__ArraySort(self, compareFn) if compareFn ~= nil then table.sort( self, function(a, b) return compareFn(nil, a, b) < 0 end ) else table.sort(self) end return self end local function __TS__ArraySlice(self, first, last) local len = #self first = first or 0 if first < 0 then first = len + first if first < 0 then first = 0 end else if first > len then first = len end end last = last or len if last < 0 then last = len + last if last < 0 then last = 0 end else if last > len then last = len end end local out = {} first = first + 1 last = last + 1 local n = 1 while first < last do out[n] = self[first] first = first + 1 n = n + 1 end return out end local function __TS__ArraySome(self, callbackfn, thisArg) for i = 1, #self do if callbackfn(thisArg, self[i], i - 1, self) then return true end end return false end local function __TS__ArraySplice(self, ...) local args = {...} local len = #self local actualArgumentCount = __TS__CountVarargs(...) local start = args[1] local deleteCount = args[2] if start < 0 then start = len + start if start < 0 then start = 0 end elseif start > len then start = len end local itemCount = actualArgumentCount - 2 if itemCount < 0 then itemCount = 0 end local actualDeleteCount if actualArgumentCount == 0 then actualDeleteCount = 0 elseif actualArgumentCount == 1 then actualDeleteCount = len - start else actualDeleteCount = deleteCount or 0 if actualDeleteCount < 0 then actualDeleteCount = 0 end if actualDeleteCount > len - start then actualDeleteCount = len - start end end local out = {} for k = 1, actualDeleteCount do local from = start + k if self[from] ~= nil then out[k] = self[from] end end if itemCount < actualDeleteCount then for k = start + 1, len - actualDeleteCount do local from = k + actualDeleteCount local to = k + itemCount if self[from] then self[to] = self[from] else self[to] = nil end end for k = len - actualDeleteCount + itemCount + 1, len do self[k] = nil end elseif itemCount > actualDeleteCount then for k = len - actualDeleteCount, start + 1, -1 do local from = k + actualDeleteCount local to = k + itemCount if self[from] then self[to] = self[from] else self[to] = nil end end end local j = start + 1 for i = 3, actualArgumentCount do self[j] = args[i] j = j + 1 end for k = #self, len - actualDeleteCount + itemCount + 1, -1 do self[k] = nil end return out end local function __TS__ArrayToObject(self) local object = {} for i = 1, #self do object[i - 1] = self[i] end return object end local function __TS__ArrayFlat(self, depth) if depth == nil then depth = 1 end local result = {} local len = 0 for i = 1, #self do local value = self[i] if depth > 0 and __TS__ArrayIsArray(value) then local toAdd if depth == 1 then toAdd = value else toAdd = __TS__ArrayFlat(value, depth - 1) end for j = 1, #toAdd do local val = toAdd[j] len = len + 1 result[len] = val end else len = len + 1 result[len] = value end end return result end local function __TS__ArrayFlatMap(self, callback, thisArg) local result = {} local len = 0 for i = 1, #self do local value = callback(thisArg, self[i], i - 1, self) if __TS__ArrayIsArray(value) then for j = 1, #value do len = len + 1 result[len] = value[j] end else len = len + 1 result[len] = value end end return result end local function __TS__ArraySetLength(self, length) if length < 0 or length ~= length or length == math.huge or math.floor(length) ~= length then error( "invalid array length: " .. tostring(length), 0 ) end for i = length + 1, #self do self[i] = nil end return length end local function __TS__InstanceOf(obj, classTbl) if type(classTbl) ~= "table" then error("Right-hand side of 'instanceof' is not an object", 0) end if classTbl[Symbol.hasInstance] ~= nil then return not not classTbl[Symbol.hasInstance](classTbl, obj) end if type(obj) == "table" then local luaClass = obj.constructor while luaClass ~= nil do if luaClass == classTbl then return true end luaClass = luaClass.____super end end return false end local function __TS__New(target, ...) local instance = setmetatable({}, target.prototype) instance:____constructor(...) return instance end local function __TS__Class(self) local c = {prototype = {}} c.prototype.__index = c.prototype c.prototype.constructor = c return c end local __TS__Unpack = table.unpack or unpack local function __TS__FunctionBind(fn, ...) local boundArgs = {...} return function(____, ...) local args = {...} __TS__ArrayUnshift( args, __TS__Unpack(boundArgs) ) return fn(__TS__Unpack(args)) end end local __TS__Promise do local function promiseDeferred(self) local resolve local reject local promise = __TS__New( __TS__Promise, function(____, res, rej) resolve = res reject = rej end ) return {promise = promise, resolve = resolve, reject = reject} end local function isPromiseLike(self, thing) return __TS__InstanceOf(thing, __TS__Promise) end __TS__Promise = __TS__Class() __TS__Promise.name = "__TS__Promise" function __TS__Promise.prototype.____constructor(self, executor) self.state = 0 self.fulfilledCallbacks = {} self.rejectedCallbacks = {} self.finallyCallbacks = {} do local function ____catch(e) self:reject(e) end local ____try, ____hasReturned = pcall(function() executor( nil, __TS__FunctionBind(self.resolve, self), __TS__FunctionBind(self.reject, self) ) end) if not ____try then ____catch(____hasReturned) end end end function __TS__Promise.resolve(data) local promise = __TS__New( __TS__Promise, function() end ) promise.state = 1 promise.value = data return promise end function __TS__Promise.reject(reason) local promise = __TS__New( __TS__Promise, function() end ) promise.state = 2 promise.rejectionReason = reason return promise end __TS__Promise.prototype["then"] = function(self, onFulfilled, onRejected) local ____promiseDeferred_result_0 = promiseDeferred(nil) local promise = ____promiseDeferred_result_0.promise local resolve = ____promiseDeferred_result_0.resolve local reject = ____promiseDeferred_result_0.reject local isFulfilled = self.state == 1 local isRejected = self.state == 2 if onFulfilled then local internalCallback = self:createPromiseResolvingCallback(onFulfilled, resolve, reject) local ____self_fulfilledCallbacks_1 = self.fulfilledCallbacks ____self_fulfilledCallbacks_1[#____self_fulfilledCallbacks_1 + 1] = internalCallback if isFulfilled then internalCallback(nil, self.value) end else local ____self_fulfilledCallbacks_2 = self.fulfilledCallbacks ____self_fulfilledCallbacks_2[#____self_fulfilledCallbacks_2 + 1] = function(____, v) return resolve(nil, v) end end if onRejected then local internalCallback = self:createPromiseResolvingCallback(onRejected, resolve, reject) local ____self_rejectedCallbacks_3 = self.rejectedCallbacks ____self_rejectedCallbacks_3[#____self_rejectedCallbacks_3 + 1] = internalCallback if isRejected then internalCallback(nil, self.rejectionReason) end else local ____self_rejectedCallbacks_4 = self.rejectedCallbacks ____self_rejectedCallbacks_4[#____self_rejectedCallbacks_4 + 1] = function(____, err) return reject(nil, err) end end if isFulfilled then resolve(nil, self.value) end if isRejected then reject(nil, self.rejectionReason) end return promise end function __TS__Promise.prototype.catch(self, onRejected) return self["then"](self, nil, onRejected) end function __TS__Promise.prototype.finally(self, onFinally) if onFinally then local ____self_finallyCallbacks_5 = self.finallyCallbacks ____self_finallyCallbacks_5[#____self_finallyCallbacks_5 + 1] = onFinally if self.state ~= 0 then onFinally(nil) end end return self end function __TS__Promise.prototype.resolve(self, data) if __TS__InstanceOf(data, __TS__Promise) then data["then"]( data, function(____, v) return self:resolve(v) end, function(____, err) return self:reject(err) end ) return end if self.state == 0 then self.state = 1 self.value = data for ____, callback in ipairs(self.fulfilledCallbacks) do callback(nil, data) end for ____, callback in ipairs(self.finallyCallbacks) do callback(nil) end end end function __TS__Promise.prototype.reject(self, reason) if self.state == 0 then self.state = 2 self.rejectionReason = reason for ____, callback in ipairs(self.rejectedCallbacks) do callback(nil, reason) end for ____, callback in ipairs(self.finallyCallbacks) do callback(nil) end end end function __TS__Promise.prototype.createPromiseResolvingCallback(self, f, resolve, reject) return function(____, value) do local function ____catch(e) reject(nil, e) end local ____try, ____hasReturned = pcall(function() self:handleCallbackData( f(nil, value), resolve, reject ) end) if not ____try then ____catch(____hasReturned) end end end end function __TS__Promise.prototype.handleCallbackData(self, data, resolve, reject) if isPromiseLike(nil, data) then local nextpromise = data if nextpromise.state == 1 then resolve(nil, nextpromise.value) elseif nextpromise.state == 2 then reject(nil, nextpromise.rejectionReason) else data["then"](data, resolve, reject) end else resolve(nil, data) end end end local function __TS__AsyncAwaiter(generator) return __TS__New( __TS__Promise, function(____, resolve, reject) local adopt, fulfilled, step, resolved, asyncCoroutine function adopt(self, value) return __TS__InstanceOf(value, __TS__Promise) and value or __TS__Promise.resolve(value) end function fulfilled(self, value) local success, resultOrError = coroutine.resume(asyncCoroutine, value) if success then step(nil, resultOrError) else reject(nil, resultOrError) end end function step(self, result) if resolved then return end if coroutine.status(asyncCoroutine) == "dead" then resolve(nil, result) else local ____self_0 = adopt(nil, result) ____self_0["then"](____self_0, fulfilled, reject) end end resolved = false asyncCoroutine = coroutine.create(generator) local success, resultOrError = coroutine.resume( asyncCoroutine, function(____, v) resolved = true local ____self_1 = adopt(nil, v) ____self_1["then"](____self_1, resolve, reject) end ) if success then step(nil, resultOrError) else reject(nil, resultOrError) end end ) end local function __TS__Await(thing) return coroutine.yield(thing) end local function __TS__ClassExtends(target, base) target.____super = base local staticMetatable = setmetatable({__index = base}, base) setmetatable(target, staticMetatable) local baseMetatable = getmetatable(base) if baseMetatable then if type(baseMetatable.__index) == "function" then staticMetatable.__index = baseMetatable.__index end if type(baseMetatable.__newindex) == "function" then staticMetatable.__newindex = baseMetatable.__newindex end end setmetatable(target.prototype, base.prototype) if type(base.prototype.__index) == "function" then target.prototype.__index = base.prototype.__index end if type(base.prototype.__newindex) == "function" then target.prototype.__newindex = base.prototype.__newindex end if type(base.prototype.__tostring) == "function" then target.prototype.__tostring = base.prototype.__tostring end end local function __TS__CloneDescriptor(____bindingPattern0) local value local writable local set local get local configurable local enumerable enumerable = ____bindingPattern0.enumerable configurable = ____bindingPattern0.configurable get = ____bindingPattern0.get set = ____bindingPattern0.set writable = ____bindingPattern0.writable value = ____bindingPattern0.value local descriptor = {enumerable = enumerable == true, configurable = configurable == true} local hasGetterOrSetter = get ~= nil or set ~= nil local hasValueOrWritableAttribute = writable ~= nil or value ~= nil if hasGetterOrSetter and hasValueOrWritableAttribute then error("Invalid property descriptor. Cannot both specify accessors and a value or writable attribute.", 0) end if get or set then descriptor.get = get descriptor.set = set else descriptor.value = value descriptor.writable = writable == true end return descriptor end local function __TS__ObjectAssign(target, ...) local sources = {...} for i = 1, #sources do local source = sources[i] for key in pairs(source) do target[key] = source[key] end end return target end local function __TS__ObjectGetOwnPropertyDescriptor(object, key) local metatable = getmetatable(object) if not metatable then return end if not rawget(metatable, "_descriptors") then return end return rawget(metatable, "_descriptors")[key] end local __TS__SetDescriptor do local function descriptorIndex(self, key) local value = rawget(self, key) if value ~= nil then return value end local metatable = getmetatable(self) while metatable do local rawResult = rawget(metatable, key) if rawResult ~= nil then return rawResult end local descriptors = rawget(metatable, "_descriptors") if descriptors then local descriptor = descriptors[key] if descriptor ~= nil then if descriptor.get then return descriptor.get(self) end return descriptor.value end end metatable = getmetatable(metatable) end end local function descriptorNewIndex(self, key, value) local metatable = getmetatable(self) while metatable do local descriptors = rawget(metatable, "_descriptors") if descriptors then local descriptor = descriptors[key] if descriptor ~= nil then if descriptor.set then descriptor.set(self, value) else if descriptor.writable == false then error( ((("Cannot assign to read only property '" .. key) .. "' of object '") .. tostring(self)) .. "'", 0 ) end descriptor.value = value end return end end metatable = getmetatable(metatable) end rawset(self, key, value) end function __TS__SetDescriptor(target, key, desc, isPrototype) if isPrototype == nil then isPrototype = false end local ____isPrototype_0 if isPrototype then ____isPrototype_0 = target else ____isPrototype_0 = getmetatable(target) end local metatable = ____isPrototype_0 if not metatable then metatable = {} setmetatable(target, metatable) end local value = rawget(target, key) if value ~= nil then rawset(target, key, nil) end if not rawget(metatable, "_descriptors") then metatable._descriptors = {} end metatable._descriptors[key] = __TS__CloneDescriptor(desc) metatable.__index = descriptorIndex metatable.__newindex = descriptorNewIndex end end local function __TS__Decorate(decorators, target, key, desc) local result = target do local i = #decorators while i >= 0 do local decorator = decorators[i + 1] if decorator ~= nil then local oldResult = result if key == nil then result = decorator(nil, result) elseif desc == true then local value = rawget(target, key) local descriptor = __TS__ObjectGetOwnPropertyDescriptor(target, key) or ({configurable = true, writable = true, value = value}) local desc = decorator(nil, target, key, descriptor) or descriptor local isSimpleValue = desc.configurable == true and desc.writable == true and not desc.get and not desc.set if isSimpleValue then rawset(target, key, desc.value) else __TS__SetDescriptor( target, key, __TS__ObjectAssign({}, descriptor, desc) ) end elseif desc == false then result = decorator(nil, target, key, desc) else result = decorator(nil, target, key) end result = result or oldResult end i = i - 1 end end return result end local function __TS__DecorateParam(paramIndex, decorator) return function(____, target, key) return decorator(nil, target, key, paramIndex) end end local function __TS__StringIncludes(self, searchString, position) if not position then position = 1 else position = position + 1 end local index = string.find(self, searchString, position, true) return index ~= nil end local Error, RangeError, ReferenceError, SyntaxError, TypeError, URIError do local function getErrorStack(self, constructor) local level = 1 while true do local info = debug.getinfo(level, "f") level = level + 1 if not info then level = 1 break elseif info.func == constructor then break end end if __TS__StringIncludes(_VERSION, "Lua 5.0") then return debug.traceback(("[Level " .. tostring(level)) .. "]") else return debug.traceback(nil, level) end end local function wrapErrorToString(self, getDescription) return function(self) local description = getDescription(self) local caller = debug.getinfo(3, "f") local isClassicLua = __TS__StringIncludes(_VERSION, "Lua 5.0") or _VERSION == "Lua 5.1" if isClassicLua or caller and caller.func ~= error then return description else return (description .. "\n") .. tostring(self.stack) end end end local function initErrorClass(self, Type, name) Type.name = name return setmetatable( Type, {__call = function(____, _self, message) return __TS__New(Type, message) end} ) end local ____initErrorClass_1 = initErrorClass local ____class_0 = __TS__Class() ____class_0.name = "" function ____class_0.prototype.____constructor(self, message) if message == nil then message = "" end self.message = message self.name = "Error" self.stack = getErrorStack(nil, self.constructor.new) local metatable = getmetatable(self) if metatable and not metatable.__errorToStringPatched then metatable.__errorToStringPatched = true metatable.__tostring = wrapErrorToString(nil, metatable.__tostring) end end function ____class_0.prototype.__tostring(self) return self.message ~= "" and (self.name .. ": ") .. self.message or self.name end Error = ____initErrorClass_1(nil, ____class_0, "Error") local function createErrorClass(self, name) local ____initErrorClass_3 = initErrorClass local ____class_2 = __TS__Class() ____class_2.name = ____class_2.name __TS__ClassExtends(____class_2, Error) function ____class_2.prototype.____constructor(self, ...) ____class_2.____super.prototype.____constructor(self, ...) self.name = name end return ____initErrorClass_3(nil, ____class_2, name) end RangeError = createErrorClass(nil, "RangeError") ReferenceError = createErrorClass(nil, "ReferenceError") SyntaxError = createErrorClass(nil, "SyntaxError") TypeError = createErrorClass(nil, "TypeError") URIError = createErrorClass(nil, "URIError") end local function __TS__ObjectGetOwnPropertyDescriptors(object) local metatable = getmetatable(object) if not metatable then return {} end return rawget(metatable, "_descriptors") or ({}) end local function __TS__Delete(target, key) local descriptors = __TS__ObjectGetOwnPropertyDescriptors(target) local descriptor = descriptors[key] if descriptor then if not descriptor.configurable then error( __TS__New( TypeError, ((("Cannot delete property " .. tostring(key)) .. " of ") .. tostring(target)) .. "." ), 0 ) end descriptors[key] = nil return true end target[key] = nil return true end local function __TS__StringAccess(self, index) if index >= 0 and index < #self then return string.sub(self, index + 1, index + 1) end end local function __TS__DelegatedYield(iterable) if type(iterable) == "string" then for index = 0, #iterable - 1 do coroutine.yield(__TS__StringAccess(iterable, index)) end elseif iterable.____coroutine ~= nil then local co = iterable.____coroutine while true do local status, value = coroutine.resume(co) if not status then error(value, 0) end if coroutine.status(co) == "dead" then return value else coroutine.yield(value) end end elseif iterable[Symbol.iterator] then local iterator = iterable[Symbol.iterator](iterable) while true do local result = iterator:next() if result.done then return result.value else coroutine.yield(result.value) end end else for ____, value in ipairs(iterable) do coroutine.yield(value) end end end local __TS__Generator do local function generatorIterator(self) return self end local function generatorNext(self, ...) local co = self.____coroutine if coroutine.status(co) == "dead" then return {done = true} end local status, value = coroutine.resume(co, ...) if not status then error(value, 0) end return { value = value, done = coroutine.status(co) == "dead" } end function __TS__Generator(fn) return function(...) local args = {...} local argsLength = __TS__CountVarargs(...) return { ____coroutine = coroutine.create(function() return fn(__TS__Unpack(args, 1, argsLength)) end), [Symbol.iterator] = generatorIterator, next = generatorNext } end end end local function __TS__InstanceOfObject(value) local valueType = type(value) return valueType == "table" or valueType == "function" end local function __TS__LuaIteratorSpread(self, state, firstKey) local results = {} local key, value = self(state, firstKey) while key do results[#results + 1] = {key, value} key, value = self(state, key) end return __TS__Unpack(results) end local Map do Map = __TS__Class() Map.name = "Map" function Map.prototype.____constructor(self, entries) self[Symbol.toStringTag] = "Map" self.items = {} self.size = 0 self.nextKey = {} self.previousKey = {} if entries == nil then return end local iterable = entries if iterable[Symbol.iterator] then local iterator = iterable[Symbol.iterator](iterable) while true do local result = iterator:next() if result.done then break end local value = result.value self:set(value[1], value[2]) end else local array = entries for ____, kvp in ipairs(array) do self:set(kvp[1], kvp[2]) end end end function Map.prototype.clear(self) self.items = {} self.nextKey = {} self.previousKey = {} self.firstKey = nil self.lastKey = nil self.size = 0 end function Map.prototype.delete(self, key) local contains = self:has(key) if contains then self.size = self.size - 1 local next = self.nextKey[key] local previous = self.previousKey[key] if next ~= nil and previous ~= nil then self.nextKey[previous] = next self.previousKey[next] = previous elseif next ~= nil then self.firstKey = next self.previousKey[next] = nil elseif previous ~= nil then self.lastKey = previous self.nextKey[previous] = nil else self.firstKey = nil self.lastKey = nil end self.nextKey[key] = nil self.previousKey[key] = nil end self.items[key] = nil return contains end function Map.prototype.forEach(self, callback) for ____, key in __TS__Iterator(self:keys()) do callback(nil, self.items[key], key, self) end end function Map.prototype.get(self, key) return self.items[key] end function Map.prototype.has(self, key) return self.nextKey[key] ~= nil or self.lastKey == key end function Map.prototype.set(self, key, value) local isNewValue = not self:has(key) if isNewValue then self.size = self.size + 1 end self.items[key] = value if self.firstKey == nil then self.firstKey = key self.lastKey = key elseif isNewValue then self.nextKey[self.lastKey] = key self.previousKey[key] = self.lastKey self.lastKey = key end return self end Map.prototype[Symbol.iterator] = function(self) return self:entries() end function Map.prototype.entries(self) local items = self.items local nextKey = self.nextKey local key = self.firstKey return { [Symbol.iterator] = function(self) return self end, next = function(self) local result = {done = not key, value = {key, items[key]}} key = nextKey[key] return result end } end function Map.prototype.keys(self) local nextKey = self.nextKey local key = self.firstKey return { [Symbol.iterator] = function(self) return self end, next = function(self) local result = {done = not key, value = key} key = nextKey[key] return result end } end function Map.prototype.values(self) local items = self.items local nextKey = self.nextKey local key = self.firstKey return { [Symbol.iterator] = function(self) return self end, next = function(self) local result = {done = not key, value = items[key]} key = nextKey[key] return result end } end Map[Symbol.species] = Map end local __TS__Match = string.match local __TS__MathAtan2 = math.atan2 or math.atan local __TS__MathModf = math.modf local function __TS__MathSign(val) if val > 0 then return 1 elseif val < 0 then return -1 end return 0 end local function __TS__Number(value) local valueType = type(value) if valueType == "number" then return value elseif valueType == "string" then local numberValue = tonumber(value) if numberValue then return numberValue end if value == "Infinity" then return math.huge end if value == "-Infinity" then return -math.huge end local stringWithoutSpaces = string.gsub(value, "%s", "") if stringWithoutSpaces == "" then return 0 end return 0 / 0 elseif valueType == "boolean" then return value and 1 or 0 else return 0 / 0 end end local function __TS__NumberIsFinite(value) return type(value) == "number" and value == value and value ~= math.huge and value ~= -math.huge end local function __TS__NumberIsNaN(value) return value ~= value end local __TS__NumberToString do local radixChars = "0123456789abcdefghijklmnopqrstuvwxyz" function __TS__NumberToString(self, radix) if radix == nil or radix == 10 or self == math.huge or self == -math.huge or self ~= self then return tostring(self) end radix = math.floor(radix) if radix < 2 or radix > 36 then error("toString() radix argument must be between 2 and 36", 0) end local integer, fraction = __TS__MathModf(math.abs(self)) local result = "" if radix == 8 then result = string.format("%o", integer) elseif radix == 16 then result = string.format("%x", integer) else repeat do result = __TS__StringAccess(radixChars, integer % radix) .. result integer = math.floor(integer / radix) end until not (integer ~= 0) end if fraction ~= 0 then result = result .. "." local delta = 1e-16 repeat do fraction = fraction * radix delta = delta * radix local digit = math.floor(fraction) result = result .. __TS__StringAccess(radixChars, digit) fraction = fraction - digit end until not (fraction >= delta) end if self < 0 then result = "-" .. result end return result end end local function __TS__NumberToFixed(self, fractionDigits) if math.abs(self) >= 1e+21 or self ~= self then return tostring(self) end local f = math.floor(fractionDigits or 0) if f < 0 or f > 99 then error("toFixed() digits argument must be between 0 and 99", 0) end return string.format( ("%." .. tostring(f)) .. "f", self ) end local function __TS__ObjectDefineProperty(target, key, desc) local luaKey = type(key) == "number" and key + 1 or key local value = rawget(target, luaKey) local hasGetterOrSetter = desc.get ~= nil or desc.set ~= nil local descriptor if hasGetterOrSetter then if value ~= nil then error( "Cannot redefine property: " .. tostring(key), 0 ) end descriptor = desc else local valueExists = value ~= nil local ____desc_set_4 = desc.set local ____desc_get_5 = desc.get local ____temp_0 if desc.configurable ~= nil then ____temp_0 = desc.configurable else ____temp_0 = valueExists end local ____temp_1 if desc.enumerable ~= nil then ____temp_1 = desc.enumerable else ____temp_1 = valueExists end local ____temp_2 if desc.writable ~= nil then ____temp_2 = desc.writable else ____temp_2 = valueExists end local ____temp_3 if desc.value ~= nil then ____temp_3 = desc.value else ____temp_3 = value end descriptor = { set = ____desc_set_4, get = ____desc_get_5, configurable = ____temp_0, enumerable = ____temp_1, writable = ____temp_2, value = ____temp_3 } end __TS__SetDescriptor(target, luaKey, descriptor) return target end local function __TS__ObjectEntries(obj) local result = {} local len = 0 for key in pairs(obj) do len = len + 1 result[len] = {key, obj[key]} end return result end local function __TS__ObjectFromEntries(entries) local obj = {} local iterable = entries if iterable[Symbol.iterator] then local iterator = iterable[Symbol.iterator](iterable) while true do local result = iterator:next() if result.done then break end local value = result.value obj[value[1]] = value[2] end else for ____, entry in ipairs(entries) do obj[entry[1]] = entry[2] end end return obj end local function __TS__ObjectKeys(obj) local result = {} local len = 0 for key in pairs(obj) do len = len + 1 result[len] = key end return result end local function __TS__ObjectRest(target, usedProperties) local result = {} for property in pairs(target) do if not usedProperties[property] then result[property] = target[property] end end return result end local function __TS__ObjectValues(obj) local result = {} local len = 0 for key in pairs(obj) do len = len + 1 result[len] = obj[key] end return result end local function __TS__ParseFloat(numberString) local infinityMatch = __TS__Match(numberString, "^%s*(-?Infinity)") if infinityMatch ~= nil then return __TS__StringAccess(infinityMatch, 0) == "-" and -math.huge or math.huge end local number = tonumber(__TS__Match(numberString, "^%s*(-?%d+%.?%d*)")) return number or 0 / 0 end local function __TS__StringSubstring(self, start, ____end) if ____end ~= ____end then ____end = 0 end if ____end ~= nil and start > ____end then start, ____end = ____end, start end if start >= 0 then start = start + 1 else start = 1 end if ____end ~= nil and ____end < 0 then ____end = 0 end return string.sub(self, start, ____end) end local __TS__ParseInt do local parseIntBasePattern = "0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTvVwWxXyYzZ" function __TS__ParseInt(numberString, base) if base == nil then base = 10 local hexMatch = __TS__Match(numberString, "^%s*-?0[xX]") if hexMatch ~= nil then base = 16 numberString = __TS__Match(hexMatch, "-") and "-" .. __TS__StringSubstring(numberString, #hexMatch) or __TS__StringSubstring(numberString, #hexMatch) end end if base < 2 or base > 36 then return 0 / 0 end local allowedDigits = base <= 10 and __TS__StringSubstring(parseIntBasePattern, 0, base) or __TS__StringSubstring(parseIntBasePattern, 0, 10 + 2 * (base - 10)) local pattern = ("^%s*(-?[" .. allowedDigits) .. "]*)" local number = tonumber( __TS__Match(numberString, pattern), base ) if number == nil then return 0 / 0 end if number >= 0 then return math.floor(number) else return math.ceil(number) end end end local function __TS__PromiseAll(iterable) local results = {} local toResolve = {} local numToResolve = 0 local i = 0 for ____, item in __TS__Iterator(iterable) do if __TS__InstanceOf(item, __TS__Promise) then if item.state == 1 then results[i + 1] = item.value elseif item.state == 2 then return __TS__Promise.reject(item.rejectionReason) else numToResolve = numToResolve + 1 toResolve[i] = item end else results[i + 1] = item end i = i + 1 end if numToResolve == 0 then return __TS__Promise.resolve(results) end return __TS__New( __TS__Promise, function(____, resolve, reject) for index, promise in pairs(toResolve) do promise["then"]( promise, function(____, data) results[index + 1] = data numToResolve = numToResolve - 1 if numToResolve == 0 then resolve(nil, results) end end, function(____, reason) reject(nil, reason) end ) end end ) end local function __TS__PromiseAllSettled(iterable) local results = {} local toResolve = {} local numToResolve = 0 local i = 0 for ____, item in __TS__Iterator(iterable) do if __TS__InstanceOf(item, __TS__Promise) then if item.state == 1 then results[i + 1] = {status = "fulfilled", value = item.value} elseif item.state == 2 then results[i + 1] = {status = "rejected", reason = item.rejectionReason} else numToResolve = numToResolve + 1 toResolve[i] = item end else results[i + 1] = {status = "fulfilled", value = item} end i = i + 1 end if numToResolve == 0 then return __TS__Promise.resolve(results) end return __TS__New( __TS__Promise, function(____, resolve) for index, promise in pairs(toResolve) do promise["then"]( promise, function(____, data) results[index + 1] = {status = "fulfilled", value = data} numToResolve = numToResolve - 1 if numToResolve == 0 then resolve(nil, results) end end, function(____, reason) results[index + 1] = {status = "rejected", reason = reason} numToResolve = numToResolve - 1 if numToResolve == 0 then resolve(nil, results) end end ) end end ) end local function __TS__PromiseAny(iterable) local rejections = {} local pending = {} for ____, item in __TS__Iterator(iterable) do if __TS__InstanceOf(item, __TS__Promise) then if item.state == 1 then return __TS__Promise.resolve(item.value) elseif item.state == 2 then rejections[#rejections + 1] = item.rejectionReason else pending[#pending + 1] = item end else return __TS__Promise.resolve(item) end end if #pending == 0 then return __TS__Promise.reject("No promises to resolve with .any()") end local numResolved = 0 return __TS__New( __TS__Promise, function(____, resolve, reject) for ____, promise in ipairs(pending) do promise["then"]( promise, function(____, data) resolve(nil, data) end, function(____, reason) rejections[#rejections + 1] = reason numResolved = numResolved + 1 if numResolved == #pending then reject(nil, {name = "AggregateError", message = "All Promises rejected", errors = rejections}) end end ) end end ) end local function __TS__PromiseRace(iterable) local pending = {} for ____, item in __TS__Iterator(iterable) do if __TS__InstanceOf(item, __TS__Promise) then if item.state == 1 then return __TS__Promise.resolve(item.value) elseif item.state == 2 then return __TS__Promise.reject(item.rejectionReason) else pending[#pending + 1] = item end else return __TS__Promise.resolve(item) end end return __TS__New( __TS__Promise, function(____, resolve, reject) for ____, promise in ipairs(pending) do promise["then"]( promise, function(____, value) return resolve(nil, value) end, function(____, reason) return reject(nil, reason) end ) end end ) end local Set do Set = __TS__Class() Set.name = "Set" function Set.prototype.____constructor(self, values) self[Symbol.toStringTag] = "Set" self.size = 0 self.nextKey = {} self.previousKey = {} if values == nil then return end local iterable = values if iterable[Symbol.iterator] then local iterator = iterable[Symbol.iterator](iterable) while true do local result = iterator:next() if result.done then break end self:add(result.value) end else local array = values for ____, value in ipairs(array) do self:add(value) end end end function Set.prototype.add(self, value) local isNewValue = not self:has(value) if isNewValue then self.size = self.size + 1 end if self.firstKey == nil then self.firstKey = value self.lastKey = value elseif isNewValue then self.nextKey[self.lastKey] = value self.previousKey[value] = self.lastKey self.lastKey = value end return self end function Set.prototype.clear(self) self.nextKey = {} self.previousKey = {} self.firstKey = nil self.lastKey = nil self.size = 0 end function Set.prototype.delete(self, value) local contains = self:has(value) if contains then self.size = self.size - 1 local next = self.nextKey[value] local previous = self.previousKey[value] if next ~= nil and previous ~= nil then self.nextKey[previous] = next self.previousKey[next] = previous elseif next ~= nil then self.firstKey = next self.previousKey[next] = nil elseif previous ~= nil then self.lastKey = previous self.nextKey[previous] = nil else self.firstKey = nil self.lastKey = nil end self.nextKey[value] = nil self.previousKey[value] = nil end return contains end function Set.prototype.forEach(self, callback) for ____, key in __TS__Iterator(self:keys()) do callback(nil, key, key, self) end end function Set.prototype.has(self, value) return self.nextKey[value] ~= nil or self.lastKey == value end Set.prototype[Symbol.iterator] = function(self) return self:values() end function Set.prototype.entries(self) local nextKey = self.nextKey local key = self.firstKey return { [Symbol.iterator] = function(self) return self end, next = function(self) local result = {done = not key, value = {key, key}} key = nextKey[key] return result end } end function Set.prototype.keys(self) local nextKey = self.nextKey local key = self.firstKey return { [Symbol.iterator] = function(self) return self end, next = function(self) local result = {done = not key, value = key} key = nextKey[key] return result end } end function Set.prototype.values(self) local nextKey = self.nextKey local key = self.firstKey return { [Symbol.iterator] = function(self) return self end, next = function(self) local result = {done = not key, value = key} key = nextKey[key] return result end } end Set[Symbol.species] = Set end local function __TS__SparseArrayNew(...) local sparseArray = {...} sparseArray.sparseLength = __TS__CountVarargs(...) return sparseArray end local function __TS__SparseArrayPush(sparseArray, ...) local args = {...} local argsLen = __TS__CountVarargs(...) local listLen = sparseArray.sparseLength for i = 1, argsLen do sparseArray[listLen + i] = args[i] end sparseArray.sparseLength = listLen + argsLen end local function __TS__SparseArraySpread(sparseArray) local _unpack = unpack or table.unpack return _unpack(sparseArray, 1, sparseArray.sparseLength) end local WeakMap do WeakMap = __TS__Class() WeakMap.name = "WeakMap" function WeakMap.prototype.____constructor(self, entries) self[Symbol.toStringTag] = "WeakMap" self.items = {} setmetatable(self.items, {__mode = "k"}) if entries == nil then return end local iterable = entries if iterable[Symbol.iterator] then local iterator = iterable[Symbol.iterator](iterable) while true do local result = iterator:next() if result.done then break end local value = result.value self.items[value[1]] = value[2] end else for ____, kvp in ipairs(entries) do self.items[kvp[1]] = kvp[2] end end end function WeakMap.prototype.delete(self, key) local contains = self:has(key) self.items[key] = nil return contains end function WeakMap.prototype.get(self, key) return self.items[key] end function WeakMap.prototype.has(self, key) return self.items[key] ~= nil end function WeakMap.prototype.set(self, key, value) self.items[key] = value return self end WeakMap[Symbol.species] = WeakMap end local WeakSet do WeakSet = __TS__Class() WeakSet.name = "WeakSet" function WeakSet.prototype.____constructor(self, values) self[Symbol.toStringTag] = "WeakSet" self.items = {} setmetatable(self.items, {__mode = "k"}) if values == nil then return end local iterable = values if iterable[Symbol.iterator] then local iterator = iterable[Symbol.iterator](iterable) while true do local result = iterator:next() if result.done then break end self.items[result.value] = true end else for ____, value in ipairs(values) do self.items[value] = true end end end function WeakSet.prototype.add(self, value) self.items[value] = true return self end function WeakSet.prototype.delete(self, value) local contains = self:has(value) self.items[value] = nil return contains end function WeakSet.prototype.has(self, value) return self.items[value] == true end WeakSet[Symbol.species] = WeakSet end local function __TS__SourceMapTraceBack(fileName, sourceMap) _G.__TS__sourcemap = _G.__TS__sourcemap or ({}) _G.__TS__sourcemap[fileName] = sourceMap if _G.__TS__originalTraceback == nil then local originalTraceback = debug.traceback _G.__TS__originalTraceback = originalTraceback debug.traceback = function(thread, message, level) local trace if thread == nil and message == nil and level == nil then trace = originalTraceback() elseif __TS__StringIncludes(_VERSION, "Lua 5.0") then trace = originalTraceback((("[Level " .. tostring(level)) .. "] ") .. tostring(message)) else trace = originalTraceback(thread, message, level) end if type(trace) ~= "string" then return trace end local function replacer(____, file, srcFile, line) local fileSourceMap = _G.__TS__sourcemap[file] if fileSourceMap ~= nil and fileSourceMap[line] ~= nil then local data = fileSourceMap[line] if type(data) == "number" then return (srcFile .. ":") .. tostring(data) end return (data.file .. ":") .. tostring(data.line) end return (file .. ":") .. line end local result = string.gsub( trace, "(%S+)%.lua:(%d+)", function(file, line) return replacer(nil, file .. ".lua", file .. ".ts", line) end ) local function stringReplacer(____, file, line) local fileSourceMap = _G.__TS__sourcemap[file] if fileSourceMap ~= nil and fileSourceMap[line] ~= nil then local chunkName = __TS__Match(file, "%[string \"([^\"]+)\"%]") local sourceName = string.gsub(chunkName, ".lua$", ".ts") local data = fileSourceMap[line] if type(data) == "number" then return (sourceName .. ":") .. tostring(data) end return (data.file .. ":") .. tostring(data.line) end return (file .. ":") .. line end result = string.gsub( result, "(%[string \"[^\"]+\"%]):(%d+)", function(file, line) return stringReplacer(nil, file, line) end ) return result end end end local function __TS__Spread(iterable) local arr = {} if type(iterable) == "string" then for i = 0, #iterable - 1 do arr[i + 1] = __TS__StringAccess(iterable, i) end else local len = 0 for ____, item in __TS__Iterator(iterable) do len = len + 1 arr[len] = item end end return __TS__Unpack(arr) end local function __TS__StringCharAt(self, pos) if pos ~= pos then pos = 0 end if pos < 0 then return "" end return string.sub(self, pos + 1, pos + 1) end local function __TS__StringCharCodeAt(self, index) if index ~= index then index = 0 end if index < 0 then return 0 / 0 end return string.byte(self, index + 1) or 0 / 0 end local function __TS__StringEndsWith(self, searchString, endPosition) if endPosition == nil or endPosition > #self then endPosition = #self end return string.sub(self, endPosition - #searchString + 1, endPosition) == searchString end local function __TS__StringPadEnd(self, maxLength, fillString) if fillString == nil then fillString = " " end if maxLength ~= maxLength then maxLength = 0 end if maxLength == -math.huge or maxLength == math.huge then error("Invalid string length", 0) end if #self >= maxLength or #fillString == 0 then return self end maxLength = maxLength - #self if maxLength > #fillString then fillString = fillString .. string.rep( fillString, math.floor(maxLength / #fillString) ) end return self .. string.sub( fillString, 1, math.floor(maxLength) ) end local function __TS__StringPadStart(self, maxLength, fillString) if fillString == nil then fillString = " " end if maxLength ~= maxLength then maxLength = 0 end if maxLength == -math.huge or maxLength == math.huge then error("Invalid string length", 0) end if #self >= maxLength or #fillString == 0 then return self end maxLength = maxLength - #self if maxLength > #fillString then fillString = fillString .. string.rep( fillString, math.floor(maxLength / #fillString) ) end return string.sub( fillString, 1, math.floor(maxLength) ) .. self end local __TS__StringReplace do local sub = string.sub function __TS__StringReplace(source, searchValue, replaceValue) local startPos, endPos = string.find(source, searchValue, nil, true) if not startPos then return source end local before = sub(source, 1, startPos - 1) local replacement = type(replaceValue) == "string" and replaceValue or replaceValue(nil, searchValue, startPos - 1, source) local after = sub(source, endPos + 1) return (before .. replacement) .. after end end local __TS__StringSplit do local sub = string.sub local find = string.find function __TS__StringSplit(source, separator, limit) if limit == nil then limit = 4294967295 end if limit == 0 then return {} end local result = {} local resultIndex = 1 if separator == nil or separator == "" then for i = 1, #source do result[resultIndex] = sub(source, i, i) resultIndex = resultIndex + 1 end else local currentPos = 1 while resultIndex <= limit do local startPos, endPos = find(source, separator, currentPos, true) if not startPos then break end result[resultIndex] = sub(source, currentPos, startPos - 1) resultIndex = resultIndex + 1 currentPos = endPos + 1 end if resultIndex <= limit then result[resultIndex] = sub(source, currentPos) end end return result end end local __TS__StringReplaceAll do local sub = string.sub local find = string.find function __TS__StringReplaceAll(source, searchValue, replaceValue) if type(replaceValue) == "string" then local concat = table.concat( __TS__StringSplit(source, searchValue), replaceValue ) if #searchValue == 0 then return (replaceValue .. concat) .. replaceValue end return concat end local parts = {} local partsIndex = 1 if #searchValue == 0 then parts[1] = replaceValue(nil, "", 0, source) partsIndex = 2 for i = 1, #source do parts[partsIndex] = sub(source, i, i) parts[partsIndex + 1] = replaceValue(nil, "", i, source) partsIndex = partsIndex + 2 end else local currentPos = 1 while true do local startPos, endPos = find(source, searchValue, currentPos, true) if not startPos then break end parts[partsIndex] = sub(source, currentPos, startPos - 1) parts[partsIndex + 1] = replaceValue(nil, searchValue, startPos - 1, source) partsIndex = partsIndex + 2 currentPos = endPos + 1 end parts[partsIndex] = sub(source, currentPos) end return table.concat(parts) end end local function __TS__StringSlice(self, start, ____end) if start == nil or start ~= start then start = 0 end if ____end ~= ____end then ____end = 0 end if start >= 0 then start = start + 1 end if ____end ~= nil and ____end < 0 then ____end = ____end - 1 end return string.sub(self, start, ____end) end local function __TS__StringStartsWith(self, searchString, position) if position == nil or position < 0 then position = 0 end return string.sub(self, position + 1, #searchString + position) == searchString end local function __TS__StringSubstr(self, from, length) if from ~= from then from = 0 end if length ~= nil then if length ~= length or length <= 0 then return "" end length = length + from end if from >= 0 then from = from + 1 end return string.sub(self, from, length) end local function __TS__StringTrim(self) local result = string.gsub(self, "^[%s ]*(.-)[%s ]*$", "%1") return result end local function __TS__StringTrimEnd(self) local result = string.gsub(self, "[%s ]*$", "") return result end local function __TS__StringTrimStart(self) local result = string.gsub(self, "^[%s ]*", "") return result end local __TS__SymbolRegistryFor, __TS__SymbolRegistryKeyFor do local symbolRegistry = {} function __TS__SymbolRegistryFor(key) if not symbolRegistry[key] then symbolRegistry[key] = __TS__Symbol(key) end return symbolRegistry[key] end function __TS__SymbolRegistryKeyFor(sym) for key in pairs(symbolRegistry) do if symbolRegistry[key] == sym then return key end end return nil end end local function __TS__TypeOf(value) local luaType = type(value) if luaType == "table" then return "object" elseif luaType == "nil" then return "undefined" else return luaType end end return { __TS__ArrayConcat = __TS__ArrayConcat, __TS__ArrayEntries = __TS__ArrayEntries, __TS__ArrayEvery = __TS__ArrayEvery, __TS__ArrayFilter = __TS__ArrayFilter, __TS__ArrayForEach = __TS__ArrayForEach, __TS__ArrayFind = __TS__ArrayFind, __TS__ArrayFindIndex = __TS__ArrayFindIndex, __TS__ArrayFrom = __TS__ArrayFrom, __TS__ArrayIncludes = __TS__ArrayIncludes, __TS__ArrayIndexOf = __TS__ArrayIndexOf, __TS__ArrayIsArray = __TS__ArrayIsArray, __TS__ArrayJoin = __TS__ArrayJoin, __TS__ArrayMap = __TS__ArrayMap, __TS__ArrayPush = __TS__ArrayPush, __TS__ArrayPushArray = __TS__ArrayPushArray, __TS__ArrayReduce = __TS__ArrayReduce, __TS__ArrayReduceRight = __TS__ArrayReduceRight, __TS__ArrayReverse = __TS__ArrayReverse, __TS__ArrayUnshift = __TS__ArrayUnshift, __TS__ArraySort = __TS__ArraySort, __TS__ArraySlice = __TS__ArraySlice, __TS__ArraySome = __TS__ArraySome, __TS__ArraySplice = __TS__ArraySplice, __TS__ArrayToObject = __TS__ArrayToObject, __TS__ArrayFlat = __TS__ArrayFlat, __TS__ArrayFlatMap = __TS__ArrayFlatMap, __TS__ArraySetLength = __TS__ArraySetLength, __TS__AsyncAwaiter = __TS__AsyncAwaiter, __TS__Await = __TS__Await, __TS__Class = __TS__Class, __TS__ClassExtends = __TS__ClassExtends, __TS__CloneDescriptor = __TS__CloneDescriptor, __TS__CountVarargs = __TS__CountVarargs, __TS__Decorate = __TS__Decorate, __TS__DecorateParam = __TS__DecorateParam, __TS__Delete = __TS__Delete, __TS__DelegatedYield = __TS__DelegatedYield, Error = Error, RangeError = RangeError, ReferenceError = ReferenceError, SyntaxError = SyntaxError, TypeError = TypeError, URIError = URIError, __TS__FunctionBind = __TS__FunctionBind, __TS__Generator = __TS__Generator, __TS__InstanceOf = __TS__InstanceOf, __TS__InstanceOfObject = __TS__InstanceOfObject, __TS__Iterator = __TS__Iterator, __TS__LuaIteratorSpread = __TS__LuaIteratorSpread, Map = Map, __TS__Match = __TS__Match, __TS__MathAtan2 = __TS__MathAtan2, __TS__MathModf = __TS__MathModf, __TS__MathSign = __TS__MathSign, __TS__New = __TS__New, __TS__Number = __TS__Number, __TS__NumberIsFinite = __TS__NumberIsFinite, __TS__NumberIsNaN = __TS__NumberIsNaN, __TS__NumberToString = __TS__NumberToString, __TS__NumberToFixed = __TS__NumberToFixed, __TS__ObjectAssign = __TS__ObjectAssign, __TS__ObjectDefineProperty = __TS__ObjectDefineProperty, __TS__ObjectEntries = __TS__ObjectEntries, __TS__ObjectFromEntries = __TS__ObjectFromEntries, __TS__ObjectGetOwnPropertyDescriptor = __TS__ObjectGetOwnPropertyDescriptor, __TS__ObjectGetOwnPropertyDescriptors = __TS__ObjectGetOwnPropertyDescriptors, __TS__ObjectKeys = __TS__ObjectKeys, __TS__ObjectRest = __TS__ObjectRest, __TS__ObjectValues = __TS__ObjectValues, __TS__ParseFloat = __TS__ParseFloat, __TS__ParseInt = __TS__ParseInt, __TS__Promise = __TS__Promise, __TS__PromiseAll = __TS__PromiseAll, __TS__PromiseAllSettled = __TS__PromiseAllSettled, __TS__PromiseAny = __TS__PromiseAny, __TS__PromiseRace = __TS__PromiseRace, Set = Set, __TS__SetDescriptor = __TS__SetDescriptor, __TS__SparseArrayNew = __TS__SparseArrayNew, __TS__SparseArrayPush = __TS__SparseArrayPush, __TS__SparseArraySpread = __TS__SparseArraySpread, WeakMap = WeakMap, WeakSet = WeakSet, __TS__SourceMapTraceBack = __TS__SourceMapTraceBack, __TS__Spread = __TS__Spread, __TS__StringAccess = __TS__StringAccess, __TS__StringCharAt = __TS__StringCharAt, __TS__StringCharCodeAt = __TS__StringCharCodeAt, __TS__StringEndsWith = __TS__StringEndsWith, __TS__StringIncludes = __TS__StringIncludes, __TS__StringPadEnd = __TS__StringPadEnd, __TS__StringPadStart = __TS__StringPadStart, __TS__StringReplace = __TS__StringReplace, __TS__StringReplaceAll = __TS__StringReplaceAll, __TS__StringSlice = __TS__StringSlice, __TS__StringSplit = __TS__StringSplit, __TS__StringStartsWith = __TS__StringStartsWith, __TS__StringSubstr = __TS__StringSubstr, __TS__StringSubstring = __TS__StringSubstring, __TS__StringTrim = __TS__StringTrim, __TS__StringTrimEnd = __TS__StringTrimEnd, __TS__StringTrimStart = __TS__StringTrimStart, __TS__Symbol = __TS__Symbol, Symbol = Symbol, __TS__SymbolRegistryFor = __TS__SymbolRegistryFor, __TS__SymbolRegistryKeyFor = __TS__SymbolRegistryKeyFor, __TS__TypeOf = __TS__TypeOf, __TS__Unpack = __TS__Unpack }